package com.happy.seatwork.vehicles_park;

public class Screen {
                                                                        //对象=属性（是什么）+方法（干什么）
    //定义Shunt类型的属性，说明这个属性可以存储任何实现了Shunt接口的对象
    private Shunt shunt;  //属性声明
                                                        //属性值就是在某个时刻具体的数值或对象引用
    //接收实现了Shunt接口的一切对象 （设置这个属性值的方法）
    public void setShunt(Shunt shunt){

        //给属性赋值    this用来区分成员变量与局部变量
        this.shunt = shunt;
    }

    //显示停车信息 （使用这个属性的方法）
    public void show(){
        if (shunt != null){
            shunt.park();  //调用属性对象的方法，即通过属性访问其指向的对象并调用该对象的方法
        }
    }
}
 /*关于属性与变量：
      1.属性声明在类之内，方法之外；变量声明在方法之内；
      2.生命周期：属性与对象共存；变量与方法调用共存；
      3.用途:属性用来描述对象特征，维持状态；变量是临时存储，辅助计算的；
      4.属性 = 对象的“身份证”和“记忆”；变量 = 方法的“临时工作台”。

    在这里用属性不用变量因为变量随方法调用的结束而死亡且只能在定义的方法内使用，但车辆信息需要在多次方法间调用且显示屏
   需要“记住”当前车辆信息，而非每次临时处理。
  */